﻿using System;
using System.Net;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace MusicStore.Silverlight.Converters
{
	/// <summary>
	/// Use this converter for converting a URI to a BitmapImage object
	/// Example:
	/// Text="{Binding Path=Image, Converter={StaticResource BitmapImageConverter}"
	/// </summary>
	public class BitmapImageConverter : IValueConverter
	{
		#region IValueConverter Members

		public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
		{
			if (value != null)
			{
				BitmapImage convert = new BitmapImage(new Uri(value.ToString(), UriKind.Absolute));
				convert.ImageFailed += (sender, e) =>
												{
													System.Diagnostics.Debug.WriteLine(e.ErrorException.ToString());
												};
				return convert;
			}
			return null;
		}

		public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
		{
			throw new NotImplementedException();
		}

		#endregion
	}
}
